<!DOCTYPE html>
<html lang="ru">
<head>
	<meta charset="UTF-8">
	<title>Test request HTTP</title>
	<script type="text/javascript" src="jquery.js"></script>
	<script type="text/javascript">

	(function(){

		var answers = {
			'100' : 'Continue («продолжить»)',
			'101' : 'Switching Protocols («переключение протоколов»)',
			'102' : 'Processing («идёт обработка»)',
			'105' : 'Name Not Resolved («не удается преобразовать DNS-адрес сервера»)',
			'200' : 'OK («хорошо»)',
			'201' : 'Created («создано»)',
			'202' : 'Accepted («принято»)',
			'203' : 'Non-Authoritative Information («информация не авторитетна»)',
			'204' : 'No Content («нет содержимого»)',
			'205' : 'Reset Content («сбросить содержимое»)',
			'206' : 'Partial Content («частичное содержимое»)',
			'207' : 'Multi-Status («многостатусный»)',
			'226' : 'IM Used («использовано IM»)',
			'300' : 'Multiple Choices («множество выборов»)',
			'301' : 'Moved Permanently («перемещено навсегда»)',
			'302' : 'Moved Temporarily («перемещено временно»)',
			'303' : 'See Other (смотреть другое)',
			'304' : 'Not Modified (не изменялось)',
			'305' : 'Use Proxy («использовать прокси»)',
			'306' : '— зарезервировано (код использовался только в ранних спецификациях)',
			'307' : 'Temporary Redirect («временное перенаправление»)',
			'400' : 'Bad Request («плохой, неверный запрос»)',
			'401' : 'Unauthorized («неавторизован»)',
			'402' : 'Payment Required («необходима оплата»)',
			'403' : 'Forbidden («запрещено»)',
			'404' : 'Not Found («не найдено»)',
			'405' : 'Method Not Allowed («метод не поддерживается»)',
			'406' : 'Not Acceptable («неприемлемо»)',
			'407' : 'Proxy Authentication Required («необходима аутентификация прокси»)',
			'408' : 'Request Timeout («истекло время ожидания»)',
			'409' : 'Conflict («конфликт»)',
			'410' : 'Gone («удалён»)',
			'411' : 'Length Required («необходима длина»)',
			'412' : 'Precondition Failed («условие ложно»)',
			'413' : 'Request Entity Too Large («размер запроса слишком велик»)',
			'414' : 'Request-URI Too Large («запрашиваемый URI слишком длинный»)',
			'415' : 'Unsupported Media Type («неподдерживаемый тип данных»)',
			'416' : 'Requested Range Not Satisfiable («запрашиваемый диапазон не достижим»)',
			'417' : 'Expectation Failed («ожидаемое неприемлемо»)',
			'418' : 'I`m a teapot («я - чайник»)',
			'422' : 'Unprocessable Entity («необрабатываемый экземпляр»)',
			'423' : 'Locked («заблокировано»)',
			'424' : 'Failed Dependency («невыполненная зависимость»)',
			'425' : 'Unordered Collection («неупорядоченный набор»)',
			'426' : 'Upgrade Required («необходимо обновление»)',
			'428' : 'Precondition Required («необходимо предусловие»)',
			'429' : 'Too Many Requests («слишком много запросов»)',
			'431' : 'Request Header Fields Too Large («поля заголовка запроса слишком большие»)',
			'434' : 'Requested host unavailable. («Запрашиваемый адрес недоступен»)',
			'449' : 'Retry With («повторить с»)',
			'451' : 'Unavailable For Legal Reasons («недоступно по юридическим причинам»)',
			'456' : 'Unrecoverable Error («некорректируемая ошибка»)',
			'499' : 'Используется Nginx, когда клиент закрывает соединение до получения ответа.',
			'500' : 'Internal Server Error («внутренняя ошибка сервера»)',
			'501' : 'Not Implemented («не реализовано»)',
			'502' : 'Bad Gateway («плохой, ошибочный шлюз»)',
			'503' : 'Service Unavailable («сервис недоступен»)',
			'504' : 'Gateway Timeout («шлюз не отвечает»)',
			'505' : 'HTTP Version Not Supported («версия HTTP не поддерживается»)',
			'506' : 'Variant Also Negotiates («вариант тоже проводит согласование»)',
			'507' : 'Insufficient Storage («переполнение хранилища»)',
			'508' : 'Loop Detected («обнаружена петля»)',
			'509' : 'Bandwidth Limit Exceeded («исчерпана пропускная ширина канала»)',
			'510' : 'Not Extended («не расширено»)',
			'511' : 'Network Authentication Required («требуется сетевая аутентификация»)'
		};

		$(document).on('submit', 'form', function(e){
			e.preventDefault();
			$('#answer').hide();
			$('.loader').fadeIn(300);
			$.ajax({
				dataType: 'json',
				url : 'request.php',
				method : 'post',
				data : { resource : $("#resource").val() },
				success: function(data){
					$('.loader').fadeOut(300);
					if(data.result === 'success'){
						$('#answer p').html('Код ответа: ' + data['data'] + '<br>' + answers[data['data']]);
						$('#answer').fadeIn(300);
					} else {
						$('#answer p').html('Сервер не найден');
						$('#answer').fadeIn(300);
					}
				}
			});
		});

	})();

	</script>
	<style>

		html, body { height: 100%; min-height: 100%; }
		body { font-size: 100%; }
		h1 { font-family: "Gotha Pro", "Verdana"; margin: 0; padding: 0 0 2% 0; font-size: 150%; }
		div.block { width: 30%; height: 50%; position: absolute; left: 50%; top: 50%; border: blue solid 1px; margin-left: -15%; margin-top: -15%; padding: 1%; overflow: hidden; background: white; }
		input { margin-bottom: 15px; }
		input[type=text] { width: 98%; font-family: "Verdana"; }
		.loader { width: 32px; height: 32px; display: block; background: url(loader.gif) center center no-repeat; position: absolute; left: 50%; margin-left: -16px; display: none; }
		#answer { display: none; }

	</style>
</head>
<body>
	<div class="block">
		<h1>Отправка HTTP запроса</h1>
		<form>
			<input id="resource" type="text" placeholder="Введите адрес ресурса">
			<input type="submit" value="Отправить запрос">
		</form>
		<span class="loader"></span>
		<div id="answer">
			<h1>Ответ сервера</h1>
			<p></p>
		</div>
	</div>
</body>
</html>